1. Field of the Invention
The present invention relates to the field of simulation applications. Specifically, the present invention relates to the field of creating simulation applications.
2. Related Art
Simulation applications are used extensively as effective learning tools. Without the full expenditure of purchasing real equipment, simulation applications can provide interactive learning environments with the benefits of a realistic simulation in a controlled format.
For example, in the field of Internet networking technology, various simulation tutorials have been designed to extend, enhance, and test internetworking knowledge using a variety of protocols and commands in a simulated environment. Configuration and troubleshooting labs are integrated into the simulation tutorials to allow users to interact with the command-line interface in a simulated virtual network environment of routers, switches, or other network devices. No actual hardware connection is required in a simulation application environment.
Each of the simulation applications is directed at a specific networking technology, such as ISDN, LAN switching, voice technology, and others. The simulation application controls the learning experience by focusing on a particular skill in a particular technology. For example, the simulation application can be used to provide a practical understanding of specific configuration and troubleshooting principles dependent on the technology being taught. Commands needed to support the skill building of these principles are taught in the simulator applications.
The simulator application can provide a realistic command-line interface experience as long as the user stays within the guided parameters of the exercise. For example, attempting to configure a router to use AppleTalk will not be possible if the purpose of the exercise is to configure TCP/IP. However, by staying within the guided parameters of the simulation exercise, a user can practice router initialization, status evaluation, password recovery, updating of software images, and TCP/IP and Routing Information Protocol (RIP) configurations.
Additionally, each of the simulation applications is designed around the actual command-line interface of real scenarios. An effective simulation application will provide the identical command-line interface as encountered in the real scenario. As such, a subject matter expert (SME) interacts with a particular networking equipment that is specific to the simulation application tutorial in order to determine the actual responses or outputs in a real scenario.
The SME, at an end device, interfaces with the network device. Usually, a direct Telnet connection between the end device and the network device provides the necessary network architecture. Also, if the connection is via the Internet or a local area network, the intervening server computer's only function is to pass along the communication between the end device and the network device.
However, the SME must go through each of the possible permutations in the command-line interface. Many of the command-line interfaces are not linear in that commands can be executed in various orders, resulting in multiple permutations of a command-line interface. In order to provide a thorough and effective simulation, each of the permutations must be either known by the SME, or at the very least executed by the SME. Attempting every possible permutation is time-consuming and detail oriented: some permutations may be overlooked by the SME. This results in lost permutations that are not enabled in the simulation application.
Furthermore, in the past, the subsequent interaction for the command-line interface is written into a large file, and then given to simulation application developers who write the source code for the simulation application. Putting the interface in an organized manner that is easily translated into a series of commands in a command-line interface can be difficult and time-consuming.
Additionally, the process to produce the simulation application is subject to error and time consuming, since the file containing the command-line interface must be re-entered into the source code for the simulation applications. Many iterations in creating the simulation application are needed to ensure that the simulation application provides the same command-line interface as encountered in a real scenario.
Also, transferring the format and vision of the course developer, or SME, to a simulation application developer in order to capture the correct and style and format of the simulation application can be very difficult, especially if the SME and the application developer are not co-located. Without much discussion, the simulation application developer cannot visualize the exact format the course developer wants to portray in the simulation environment.
Thus, it would be advantageous to provide a more efficient method and system for creating simulation applications. Also, it would be advantageous to simplify the process of creating simulation applications such that a subject matter expert, who may not understand how to develop an instructional course, can easily create a simulation application. Also, it would be advantageous to standardize the process of creating simulation applications.